package cn.terminus.data.customer.customlabel.dao;

import cn.terminus.common.customer.bean.customlabel.dto.*;
import cn.terminus.result.common.page.TerminusPageAble;
import cn.terminus.result.common.page.TerminusPageInfo;

import java.util.List;

/**
 * (CustomLabel)表服务接口
 *
 * @author makejava
 * @since 2021-07-08 11:18:52
 */
public interface CustomLabelDao {

    /**
     * 新增
     *
     * @param dto
     * @return
     */
    Integer add(CustomLabelNewDto dto);

    /**
     * 更新
     *
     * @param dto
     * @return
     */
    Integer update(CustomLabelEditDto dto);


    /**
     * gets
     *
     * @param dto
     * @return
     */
    List<CustomLabelResultDto> gets(CustomLabelGetsDto dto);

    /**
     * 删除
     *
     * @param dto
     * @return
     */
    Integer delete(CustomLabelDeleteDto dto);

    /**
     * 查询
     *
     * @param dto
     * @return
     */
    List<CustomLabelResultDto> query(CustomLabelQueryDto dto);

    /**
     * 分页查询
     *
     * @param dto
     * @param page
     * @return
     */
    TerminusPageAble<CustomLabelResultDto> page(CustomLabelQueryDto dto, TerminusPageInfo page);

    /**
     * 批量插入
     *
     * @param labelNewDtoList
     * @return
     */
    Integer addMulti(List<CustomLabelNewDto> labelNewDtoList);
}
